<?php

namespace App\Http\Controllers\CRM;

use App\Helper\ApiResponseHelper;
use App\Http\Controllers\Controller;
use App\Http\Requests\CRM\StoreRequest;
use App\Http\Resources\CRM\StoreResource;
use App\Models\Store;
use Illuminate\Http\Request;

class StoreController extends Controller
{
    public function create(StoreRequest $request)
    {
        $store = Store::create($request->only([
            'name', 'short_name', 'telephone', 'phone', 'address', 'lng', 'lat', 'is_open', 'leshua_num'
        ]));

        return new StoreResource($store);
    }

    public function edit(Store $store, StoreRequest $request)
    {
        if ($store->is_online)
            return ApiResponseHelper::json([], 400, '线上门店不允许修改！');

        $store->update($request->only([
            'name', 'short_name', 'telephone', 'phone', 'address', 'lng', 'lat', 'is_open', 'leshua_num'
        ]));

        return new StoreResource($store);
    }

    public function remove(Store $store)
    {
        if ($store->is_online)
            return ApiResponseHelper::json([], 400, '线上门店不允许删除！');

        $store->delete();
        return ApiResponseHelper::json([], 200, '删除成功！');
    }

    public function getList()
    {
        $stores = Store::latest()->paginate();

        return StoreResource::collection($stores);
    }

    public function getInfo(Store $store)
    {
        return new StoreResource($store);
    }
}
